home *** CD-ROM | disk | FTP | other *** search
/ Hacker's Arsenal - The Cutting Edge of Hacking / Hacker's Arsenal - The Cutting Edge of Hacking.iso / texts / anon1.txt < prev    next >
Internet Message Format  |  2001-07-11  |  18KB

  1. Date: Tue, 13 Apr 1999 20:14:49 +0200
  2. From: Patrick Oonk <patrick@pine.nl>
  3. To: BUGTRAQ@netspace.org
  4. Subject: Serious security holes in web anonimyzing services
  5.  
  6. >From: "Richard M. Smith" <smiths@tiac.net>
  7. Subject: Serious security holes in Web anonymizing services
  8. Date: Sun, 11 Apr 1999 19:23:25 -0400
  9. Newsgroups: comp.security.misc
  10. Organization: The Internet Access Company, Inc.
  11.  
  12. Hello,
  13.  
  14. I found very serious security holes in all of the major
  15. anonymous Web surfing services (Anonymizer, Aixs, LPWA, etc.).
  16. These security holes allow a Web site to obtain information about
  17. users that the anonymizing services are suppose to be hiding.  This
  18. message provides complete details of the problem and offers
  19. a simple work-around for users until the security holes are
  20. fixed.
  21.  
  22. The April 8th issue of the New York Times has an article
  23. by Peter H. Lewis in the Circuits section that describes
  24. various types of services that allow people to anonymously
  25. surf the Web.  The article is entitled "Internet Hide and
  26. Seek" and is available at the NY Times Web site:
  27.  
  28.     http://www.nytimes.com/library/tech/99/04/circuits/articles/08pete.html
  29.  
  30. (Note, this article can only viewed if you have a free
  31. NY Times Web account.)
  32.  
  33. The three services described in the article are:
  34.  
  35.     Anonymizer (http://www.anonymizer.com)
  36.     Bell Labs (http://www.bell-labs.com/project/lpwa)
  37.     Naval Research Laboratory (http://www.onion-router.net)
  38.  
  39. In addition, I found a pointer to fourth service in a security
  40. newsgroup:
  41.  
  42.     Aixs (http://aixs.net/aixs/)
  43.  
  44. The best known of these services is the Anonymizer at
  45. www.anonymizer.com.  However all four services basically
  46. work in the same manner.  They are intended to hide
  47. information from a Web site when visited by a user.  The
  48. services prevent the Web site from seeing the IP address,
  49. host computer name, and cookies of a user.  All the services act
  50. as proxies fetching pages from Web sites instead of users
  51. going directly to Web sites.  The services make the promise
  52. that they don't pass private information along to
  53. Web sites.  They also do no logging of Web sites that
  54. have been visited.
  55.  
  56. After reading the article, I was curious to find out how well
  57. each of these services worked.  In particular, I wanted to
  58. know if it would be possible for a Web site to
  59. defeat any of these systems.  Unfortunately, with less
  60. than an hour's worth of work, I was able to get all four
  61. systems to fail when using Netscape 4.5.
  62.  
  63. The most alarming failures occurred with the Anonymizer and Aixs
  64. systems.  With the same small HTML page I was able
  65. to quietly turn off the anonymzing feature in both services.
  66. Once this page runs, it quickly redirects to a regular
  67. Web page of the Web site.  Because the browser is no
  68. longer in anonymous mode, IP addresses and cookies
  69. are again sent from the user's browser to all Web servers.
  70. This security hole exists because both services fail to properly
  71. strip out embedded JavaScript code in all cases from HTML
  72. pages.
  73.  
  74. With the Bell Labs and NRL systems I found a different
  75. failure.  With a simple JavaScript expression I was
  76. able to query the IP address and host name of the
  77. browser computer.  The query was done by calling the
  78. Java InetAddress class using the LiveConnect feature
  79. of Netscape Navigator.  Once JavaScript has this
  80. information, it can easily be transmitted it back to a
  81. Web server as part of a URL.
  82.  
  83. A demo on the use of Java InetAddress class to fetch
  84. the browser IP address and host name can be found at:
  85.  
  86.    http://www.tiac.net/users/smiths/js/livecon/index.htm
  87.  
  88. If you are a user of any these services, I highly recommend
  89. that you turn off JavaScript, Java, and ActiveX
  90. controls in your browser before surfing the Web.
  91. This simple precaution will prevent any leaks of
  92. your IP address or cookies.  I will be notifying all 4 vendors
  93. about these security holes and hopefully this same recommendation
  94. will be given to all users.
  95.  
  96. If you have any questions or comments, please send them via Email.
  97.  
  98. Richard M. Smith
  99. smiths@tiac.net
  100.  
  101. --
  102.  Patrick Oonk -    http://patrick.mypage.org/  - patrick@pine.nl
  103.  Pine Internet B.V.           Consultancy, installatie en beheer
  104.  Tel: +31-70-3111010 - Fax: +31-70-3111011 - http://www.pine.nl/
  105.  -- Pine Security Digest - http://security.pine.nl/ (Dutch) ----
  106.  Excuse of the day: bugs in the RAID
  107.  
  108. ---------------------------------------------------------------------
  109.  
  110. [http://www.tiac.net/users/smiths/js/livecon/index.htm]
  111.  
  112. <html>
  113. <head>
  114. <title>Using Java objects in JavaScript with Netscape's LiveConnect</title>
  115. <h3>Using Java objects in JavaScript with Netscape's LiveConnect</h3>
  116. <hr>
  117. <!-- Copyright (C) 1999 Richard M. Smith, All rights reserved -->
  118. </head>
  119. <body>
  120.  
  121. <script src=../../utils/common.js>
  122.  
  123. </script>
  124.  
  125. <script>JSDirectoryLine("LiveConnect and Java objects");</script>
  126.  
  127. <table border=1>
  128. <tr><th align=center> Expression </th><th align=center> Result </th><th align=center> Comments </th></tr>
  129.  
  130. <script>
  131.  
  132. evalTableEntry_IENA('mydate = new java.util.Date()', "Make a Java <i>Date</i> object");
  133. evalTableEntry_IENA('typeof(mydate)', "The type of a Java object is <i>object</i>");
  134. evalTableEntry_IENA('mydate.toString()', "Convert the <i>Date</i> to a string");
  135. evalTableEntry_IENA('typeof(mydate.toString())', "Oops, it's <b>not</b> a JavaScript string");
  136. evalTableEntry_IENA('mydate + ""', "Here is another approach to do a string conversion");
  137. evalTableEntry_IENA('typeof(mydate + "")', "This time we get a JavaScript string");
  138. evalTableEntry_IENA('mydate.getMonth()', "Get the month field of the <i>Date</i> object");
  139. evalTableEntry_IENA('typeof(mydate.getMonth())', "The getMonth() method returns a number as it should");
  140. evalTableEntry_IENA('java.net.InetAddress.getLocalHost().getHostAddress()', "Get the IP address of the local machine");
  141. evalTableEntry_IENA('java.net.InetAddress.getLocalHost().getHostName()', "Get the local machine name");
  142.  
  143. </script>
  144.  
  145. </table>
  146. <br>
  147. <script>DescStart();</script>
  148. <b>Note 1:</b> Becuase Internet Explorer 4 does not support LiveConnect,
  149. Java classes cannot be call directly from JavaScript.  Instead, a Java applet
  150. must be created which exposes the various Java classes needed by JavaScript.
  151. The same Java applet can be used both with Interner Explorer 4 and Netscape
  152. Navigator.
  153. <p>
  154. <b>Note 2:</b> Java exceptions cannot be handled by JavaScript with LiveConnect.
  155. Java exceptions are reported by JavaScript as errors.  A Java applet is required
  156. to be able to trap Java exceptions.
  157. <script>DescEnd();</script>
  158. </body>
  159. </html>
  160.  
  161. --------------------------------------------------------------------------------------------
  162.  
  163. http://www.wired.com/news/print_version/technology/story/19091.html?wnpg=all
  164.  
  165. Anonymous Web Surfing? Uh-Uh
  166. by Chris Oakes - chriso@wired.com
  167.  
  168. 2:25 p.m.  13.Apr.99.PDT
  169. People who think they're cruising the Web in a stealth vehicle may find that their license plates are still showing.
  170.  
  171. "Anonymizer" services admit that their attempts to protect individual Web identities aren't bulletproof, but say that browsing technologies should share the
  172. blame.
  173.  
  174. Programmer Richard Smith, who has a history of poking holes in supposedly secure software programs, tested four anonymizer Web services and came away
  175. unimpressed. On Monday, Smith said that results revealed a variety of data leaks, causing him to worry that users might browse with a false sense of security.
  176.  
  177. "I was surprised that companies who are in the computer security business have systems that are so easy to break," he said. "Even more surprising is that four
  178. vendors had a problem, not just one."
  179.  
  180. The leaks provide clues to a user's identification, such as a numerical Internet, or IP, address.
  181.  
  182. "I found very serious security holes in all of the major anonymous Web surfing services," Smith said. "These security holes allow a Web site to obtain information
  183. about users that the anonymizing services are supposed to be hiding."
  184.  
  185. Representatives of the services acknowledge that security lapses occur, but argue that the browsing software is as much to blame as they are. They're quick to add
  186. that they patch holes when they can.
  187.  
  188. Smith tested the Anonymizer, Aixs, the Lucent Personalized Web Assistant, and a US Navy-sponsored research project called the Onion Routing service.
  189. http://www.anonymizer.com/
  190. http://aixs.net/aixs/
  191. http://www.bell-labs.com/project/lpwa/
  192. http://www.onion-router.net/
  193.  
  194. Although the characteristics of each service vary, they primarily use data-stripping and proxy-masking techniques to conceal key data that browser software can
  195. leave behind.
  196.  
  197. The Anonymizer recently announced an anonymous forwarding service to help safeguard the identity of those filing unofficial and uncensored email reports from
  198. the fighting in Kosovo.
  199. http://www.wired.com/news/news/politics/story/18765.html
  200.  
  201. The main purpose of all four services, though, is to keep a user's identity safe from the prying eyes of Web-site operators by preventing them from obtaining an IP
  202. address, a host computer's name, or browser cookies that tip off a return visit to a site.
  203.  
  204. To hide these details, most services act as a kind of Web waystation between browsers and sites. The anonymizing services retrieve Web pages and deliver them to
  205. users instead of users fetching them directly.
  206.  
  207. An operator at one service says that the weaknesses Smith points out are not entirely the fault of the anonymizer. Flaws in the software must take some blame,
  208. too.
  209.  
  210. Using a test HTML page containing simple JavaScript code -- which could be posted on a site seeking to sniff out a user's identity -- Smith was able to quietly
  211. turn off the anonymizing feature in the Anonymizer and Aixs systems.
  212.  
  213. No longer anonymous, the user's browser will resume the delivery of IP addresses and cookies to a Web site. Smith says that's due to the services failing to
  214. consistently filter embedded JavaScript code from a site's HTML code.
  215. Anonymizer CEO Lance Cottrell said that the company is responding to Smith's alert. But he said that to exploit the vulnerability, a site would have to be
  216. actively seeking to do so.
  217.  
  218. "In any case, being bounced out of the Anonymizer would only show that the person had been there, but would not allow correlation with any postings," Cottrell
  219. said, adding that no anonymizer system can promise perfectly sealed identity.
  220.  
  221. "The systems we are working with are simply too flexible, and allow things to be done in too many ways, for security to be perfect. We try to anticipate all the
  222. loopholes we can, then act like lightning when a unforeseen hole is reported."
  223.  
  224. Attempts to reach representatives at the Aixs service were unsuccessful.
  225.  
  226. With the Lucent Personalized Web Assistant and Onion Routing service, Smith found a different type of problem. "With a simple JavaScript expression, I was
  227. able to query the IP address and host name of the browser computer."
  228.  
  229. Once JavaScript has this information, he said it can easily be transmitted it back to a Web server as part of a URL. He said that the same tests run with Internet
  230. Explorer 4.0 did not produce the same vulnerabilities.
  231.  
  232. Jeremey Barrett, an engineer for the Onion Routing System, said that the problem lies with the browsers, not with anonymizer services like his. Browsers, he said,
  233. will surrender a user's IP address to sites that request it with JavaScript or ActiveX code.
  234.  
  235. Browser manufacturers have released patches periodically as issues surrounding the acknowledged risks of executing JavaScript and ActiveX code have surfaced.
  236.  
  237. "The only way to prevent this, regardless of the anonymizing system used, is to filter out the JavaScript code using some form of proxy," said Barrett.
  238.  
  239. He also said that Onion Routing is not simply an anonymizer meant to keep an individual site from knowing who's visiting. "Rather, it's meant to prevent anyone
  240. else from knowing that you are talking to a particular Web server."
  241.  
  242. "For example, you might log into your bank's Web site over the Onion Routing system. You would very definitely want the bank to know who you were, but you
  243. might not want anyone to know you were talking to your bank."
  244.  
  245. For airtight Web browsing, any feature beyond basic HTML would have to be turned off in the browser; that's the nature of the approach taken by the
  246. Anonymizer as it strips out such code.
  247.  
  248. Smith would like to see any anonymizer service provide both the proxy and the standard anonymizing service that strips data from a user's browsing trail.
  249.  
  250. Meanwhile, anonymizing services should warn their users and fix the bugs. "Netscape should fix how it handles Java so that it doesn't leak people's IP address.
  251. This bug does not exist in IE4," Smith said. He reported the problem to Netscape last September, but said that the company still hasn't provided a fix.
  252. http://www.wired.com/news/news/technology/story/15285.html
  253.  
  254. --------------------------------------------------------------------------------------------
  255.  
  256. Date: Tue, 13 Apr 1999 21:06:08 -0400
  257. From: Avi Rubin <rubin@RESEARCH.ATT.COM>
  258. To: BUGTRAQ@netspace.org
  259. Subject: Bugs in anonymity services
  260.  
  261. Just a quick response. I am one of the authors of the Crowds system.
  262. Your attacks do not mention Crowds, although that system was described
  263. in the Lewis article.
  264.  
  265. In our original paper, which was published over a year ago, we mentioned
  266. the possibility of Java or Javascript attacks to compromise anonymity.
  267. Our system also avoids redirect attacks by filtering out meta refresh
  268. tags. I don't think that Crowds is vulnerable to any of the attacks you
  269. mention, as users are required (requested) to turn off all active
  270. content, such as Java, javascript, etc. and to proxy all services
  271. through the crowd (although not all are supported - they won't work, but
  272. they won't compromise anonymity).
  273.  
  274. Unfortunately, we cannot ship our code outside of the US, but it is
  275. available for free non-commercial use in the US. The page is
  276.  
  277.    http://www.research.att.com/projects/crowds
  278.  
  279. Avi
  280.  
  281. --------------------------------------------------------------------------------------------
  282.  
  283. Date: Tue, 13 Apr 1999 17:34:28 -0700
  284. From: Toby Barrick <tbarri@AMEX-TRS.COM>
  285. To: BUGTRAQ@netspace.org
  286. Subject: Re: Serious security holes in web anonimyzing services-non html
  287.  
  288. Sorry for the dual post, the first was html format.
  289.  
  290. This is more of a browser/Java issue. This not only affects annon
  291. sevices but proxy/firewall services also!!!
  292.  
  293. Toby Barrick
  294.  
  295. --------------------------------------------------------------------------------------------
  296.  
  297. Date: Tue, 13 Apr 1999 23:56:25 -0500
  298. From: Jeremey Barrett <jeremey@TERISA.COM>
  299. To: BUGTRAQ@netspace.org
  300. Subject: Re: Serious security holes in web anonimyzing services
  301.  
  302. On Tue, Apr 13, 1999 at 08:14:49PM +0200, Patrick Oonk wrote:
  303. > From: "Richard M. Smith" <smiths@tiac.net>
  304. > Subject: Serious security holes in Web anonymizing services
  305. > Date: Sun, 11 Apr 1999 19:23:25 -0400
  306. > Newsgroups: comp.security.misc
  307. > Organization: The Internet Access Company, Inc.
  308. >
  309. > I found very serious security holes in all of the major
  310. > anonymous Web surfing services (Anonymizer, Aixs, LPWA, etc.).
  311. > These security holes allow a Web site to obtain information about
  312. > users that the anonymizing services are suppose to be hiding.  This
  313. > message provides complete details of the problem and offers
  314. > a simple work-around for users until the security holes are
  315. > fixed.
  316.  
  317. (...)
  318.  
  319. >
  320. > With the Bell Labs and NRL systems I found a different
  321. > failure.  With a simple JavaScript expression I was
  322. > able to query the IP address and host name of the
  323. > browser computer.  The query was done by calling the
  324. > Java InetAddress class using the LiveConnect feature
  325. > of Netscape Navigator.  Once JavaScript has this
  326. > information, it can easily be transmitted it back to a
  327. > Web server as part of a URL.
  328. >
  329. > A demo on the use of Java InetAddress class to fetch
  330. > the browser IP address and host name can be found at:
  331. >
  332. >    http://www.tiac.net/users/smiths/js/livecon/index.htm
  333. >
  334. > If you are a user of any these services, I highly recommend
  335. > that you turn off JavaScript, Java, and ActiveX
  336. > controls in your browser before surfing the Web.
  337. > This simple precaution will prevent any leaks of
  338. > your IP address or cookies.  I will be notifying all 4 vendors
  339. > about these security holes and hopefully this same recommendation
  340. > will be given to all users.
  341. >
  342.  
  343. I'm sorry, but this just isn't a "hole" or "failure" in Onion Routing (which
  344. I work on) or any other anonymizing service. It's a problem with
  345. Javascript/Java and ActiveX. The fact is that browsers don't consider IP
  346. addresses as private information, and IMO this needs to change, or at least
  347. be optional.
  348.  
  349. I'll speak about Onion Routing since I don't know the Bell Labs system as
  350. well. Onion Routing is designed to prevent traffic analysis. It is _not_
  351. designed to prevent the client and server from communicating in any
  352. particular fashion they choose. If the client wants to give its IP, name,
  353. phone number, height, weight, or eye color to the server, that's its
  354. business, it is not the business of Onion Routing. There are many cases
  355. where one might want to share a real identity, or some pseudo-identity, with
  356. a server, but not want anyone in between to know you were talking to that
  357. server. Often this same functionality also prevents the server from knowing
  358. anything about the client, but that is not a requirement of the system.
  359.  
  360. Onion Routing provides a network strongly resistant to traffic analysis in
  361. the face of formidable attacks. It prevents anyone other than A and B from
  362. knowing that A and B are communicating. It has nothing to do with what
  363. information A shares with B.
  364.  
  365. That said, the Javascript thing is pretty annoying. This problem doesn't
  366. affect just anonymizing-service users, it also affects anyone behind a
  367. firewall or any sort of "internal network structure hiding" scheme. The fact
  368. that it's transparent to the user is a major issue. This is one to take up
  369. with the browser makers.
  370.  
  371. It would be possible to use an HTTP proxy to filter the Javascript, of
  372. course, and that could be built into the Onion Routing proxy, but that's
  373. only a band-aid hack, and doesn't solve the core problem.
  374.  
  375. Regards,
  376. Jeremey.
  377. --
  378. Jeremey Barrett <jeremey@terisa.com>
  379. GPG fingerprint = 7BB2 E1F1 5559 3718 CE25 565A 8455 D60B 8FE8 B38F
  380.  
  381.